In recent years, the exchange of data in electronic format has continuously increased. The number of parties participating in the exchange of the data has increased as well as the number of different types of the data. This development has led to concepts how to structure and describe the data so that the data can be exchanged in a flexible way. This may for example include transferring a data set with a description of elements of the data set so that a transferred message has self-contained parts. Therefore, a receiver of the transferred message may be able to understand the transferred message even if details of how to transfer the data set have not been specified.
One way to describe data is to use a schema, for example, a schema of the Extensible Markup Language (XML). Within XML, XML schema definition (XSD) may be used to define structures of valid XML documents. The XML documents are instances of a specific schema. XML is a widespread standard for representing information in the World Wide Web (WWW). Generally, XML represents the information in a semi-structured form and has many applications beyond the WWW. Extensibility, simplicity, and interoperability are some of the reasons why XML is popular for Web technologies and data exchanges today. XML is a markup language for structuring information and a single XML document may include different data. Therefore the different data can be sent in the single XML document in an efficient way over the Internet. This provides a flexible way for interchanging data between different systems that may be owned by different companies. Such data interchanges between different companies are more and more desired because globalisation demands to share and integrate electronic information quickly without specifying details of each data interchange.
XML may be used for such interchanges of data. However, when the structures of data models in communicating systems are not equal postprocessing may be required due to occurring conflicts. As an example, a first structure of data used in a first company may be described in a first XML schema. A second structure of data used in a second company may be described in a second XML schema that differs from the first schema. The second company may create transformation instructions that transform data of the first schema to data of the second schema. The transformation instructions may be for example mappings allowing computers to understand that element x in the first schema corresponds to element y in the second schema. As an example, the first schema may contain a data element “Vendor” and the second schema a data element “Seller”. A human being may be able to guess, possibly using additional knowledge sources that these elements correspond to an identical entity, that is, a party that sells a product or a service. Therefore, the human being may define a mapping rule that maps instances of “Vendor” to instances of “Seller” when passing information from the first company to the second company. Such a naming conflict is an example of conceptual differences that occur in data schemas and that are known as semantic heterogeneity.
A further way to represent data is to use an ontology. The idea of using ontologies has been suggested for a semantic web. In the semantic web data may be described or defined in such a way that a machine can understand a content of the data. The semantic web is a step towards making the Internet “artificially intelligent” and adding value by facilitating a more autonomous information interchange between machines. One benefit of the computer understanding an interpretation of data is more efficient web querying. For example, a computer being able to differentiate between Java being a kind of coffee, an island, and a programming language may be able to provide better search results than a computer without a semantic understanding. Interoperability is a further aspect when interaction between applications on the Web is required. As an example, a computer may be able to discover and understand autonomously information that a further application provides. This may be used for web services where independent applications are meant to interact with each other in order to create a modular application of higher value. With a semantic web, it may be possible that applications can for example exchange data without a programmer manually configuring the applications.
An article with title “Towards Semantic Web Engineering: WEESA—Mapping XML Schema to Ontologies” by Gerarld Reif, Mehdi Jazayeri, and Harald Gall discloses a manual mapping of schemas to ontologies at a design level. The article is available the Department of Informatics of the University of Zürich, Switzerland using an internet site related to Harald Gall.